package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import bean.cidadeBean;

public class cidadeDao {

	/*
	 * cadastrarCidadeServlet
	 * automatico
	 */
	public void inserir(Connection conn, cidadeBean cidade) throws SQLException {

		String sql = "insert into cidade(nome, idempresa) values(?,?)";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, cidade.getNome());
		ps.setInt(2, cidade.getIdEmpresa());
		ps.execute();
		ps.close();
	}
	
	/*
	 * alterarCidadeServlet
	 */
	public void alterar(Connection conn, cidadeBean cidade) throws SQLException {

		String sql = "update cidade set nome = ? where id = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, cidade.getNome());
		ps.setInt(2, cidade.getId());
		ps.execute();
		ps.close();
	}

	public void remover(Connection conn, cidadeBean cidade) throws SQLException {

		String sql = "delete from cidade where id = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, cidade.getId());
		ps.execute();
		ps.close();
	}
	
	public void exclucaoLogica(Connection conn, cidadeBean cidade) throws SQLException {
		
		String sql = "update cidade set excluido = '1' where id = ?";
		
		PreparedStatement ps;
	
		ps = conn.prepareStatement(sql);
		ps.setInt(1, cidade.getId());
		ps.execute();
		ps.close();
		
	}	
	/*
	 * atualizaSelectCidade.jsp
	 * atualizaTabelaCidade.jsp
	 * alterarCliente.jsp
	 * cadastrarCliente.jsp
	 * cidades.jsp
	 */
	public ArrayList<cidadeBean> getLista(Connection conn, cidadeBean cid) throws SQLException {

		String sql = "select * from cidade where excluido = '0' and idempresa = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, cid.getIdEmpresa());

		ResultSet rs = ps.executeQuery();
		ArrayList<cidadeBean> cidades = new ArrayList<cidadeBean>();
		while (rs.next()) {
			cidadeBean cidade = new cidadeBean();
			cidade.setId(rs.getInt("id"));
			cidade.setNome(rs.getString("nome"));
			cidades.add(cidade);
		}
		ps.close();
		rs.close();

		return cidades;

	}
	/*
	 * sem uso
	 */
	public cidadeBean getCidad(Connection conn, Integer id)
			throws SQLException {

		String sql = "select * from cidade where id = ?";

		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setInt(1, id);

		ResultSet rs = ps.executeQuery();

		cidadeBean cidade = new cidadeBean();
		if(rs.next()){
			cidade.setId(rs.getInt("id"));
			cidade.setNome(rs.getString("nome"));
		}
		ps.close();
		rs.close();

		return cidade;

	}

}
